package br.edu.ifrn.servlets;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.edu.ifrn.beans.Egresso;
import br.edu.ifrn.persistencia.EgressoDAO;

@SuppressWarnings("serial")
public class EditarEgresso extends HttpServlet {
	HttpSession sessao;
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		sessao = req.getSession();
		editarEgresso(req, resp);
	}

	private void editarEgresso(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		EgressoDAO dao = new EgressoDAO();
		
		Egresso egresso = new Egresso();
		egresso.setMatricula(req.getParameter("matricula"));
		egresso.setNome(req.getParameter("nome"));
		egresso.setTelefone(req.getParameter("telefone"));
		egresso.setCpf(req.getParameter("cpf"));
		egresso.setRg(req.getParameter("rg"));
		egresso.setLogradouro(req.getParameter("logradouro"));
		egresso.setNumero(req.getParameter("numero"));
		egresso.setBairro(req.getParameter("bairro"));
		egresso.setCidade(req.getParameter("cidade"));
		egresso.setUF(req.getParameter("uf"));
		egresso.setComplemento(req.getParameter("complemento"));
		egresso.setEmail(req.getParameter("email"));
		egresso.setHabilidades(req.getParameter("habilidades"));
		
		dao.editarEgresso(egresso);
		sessao.setAttribute("egresso", egresso);

		String mensagem = "Dados alterados com sucesso";
		sessao.setAttribute("mensagem", mensagem);
		RequestDispatcher jsp = req.getRequestDispatcher("egressos.jsp");
		jsp.forward(req, resp);

	}

	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		sessao = req.getSession();
		sessao.removeAttribute("erro1");
		editarsenha(req, resp);
	}
	
	private void editarsenha(HttpServletRequest req, HttpServletResponse resp)
	throws ServletException, IOException {
		EgressoDAO dao = new EgressoDAO();
		Egresso egressoApp = (Egresso) sessao.getAttribute("egresso");
		Egresso egressoBanco = dao.recuperarPorMatricula(egressoApp.getMatricula());
		System.out.println(egressoBanco.getMatricula());
		if (egressoBanco.getSenha().equals(req.getParameter("antiga"))){
			if (req.getParameter("nova1").equals(req.getParameter("nova2"))) {
				egressoBanco.setSenha(req.getParameter("nova1"));
				sessao.setAttribute("egresso", egressoBanco);
				dao.editarSenha(egressoBanco);
				String mensagem = "Senha alterada com sucesso";
				sessao.setAttribute("mensagem", mensagem);
				RequestDispatcher jsp = req.getRequestDispatcher("egressos.jsp");
				jsp.forward(req, resp);
			}else{
				String erro1 = "Novas senhas digitadas diferentes";
				sessao.setAttribute("erro1", erro1);
				RequestDispatcher jsp = req.getRequestDispatcher("editarsenhaegresso.jsp");
				jsp.forward(req, resp);
			}
				
		}else{
			String erro1 = "Senha incorreta";
			sessao.setAttribute("erro1", erro1);
			RequestDispatcher jsp = req.getRequestDispatcher("editarsenhaegresso.jsp");
			jsp.forward(req, resp);
		}
	}

}
